MPC

Model Predictive Control 模型预测控制
它通过预测系统未来的行为来计算当前的最优控制动作

模型预测控制(MPC)是一种先进的控制策略,它在每个时间步,利用系统模型预测未来的行为,并求解一个优化问题来确定当前的最优控制输入。MPC 的核心思想是滚动优化 (Receding Horizon Optimization)反馈校正 (Feedback Correction),使其能够处理复杂的约束和多变量系统,在机器人、自动驾驶和工业过程控制等领域得到广泛应用。

一、核心思想:预测未来,优化当下

MPC 的核心思想可以概括为:

  1. 预测 (Predict): 在当前时间步 t,利用系统的数学模型,根据当前的系统状态和未来一段时间内的控制输入序列,预测系统在未来预测时域 (Prediction Horizon) 内的行为。
  2. 优化 (Optimize): 在预测时域内,求解一个优化问题,找到一个最优的控制输入序列,使得某个性能指标(如跟踪误差、能耗)最小化,同时满足所有系统约束(如执行器限制、安全边界)。
  3. 执行 (Execute): 只执行优化得到的控制序列的第一个控制输入
  4. 滚动 (Recede): 在下一个时间步 t+1,重新测量系统状态,并重复上述过程。预测时域会向前滚动,因此 MPC 也被称为“滚动时域控制”。

二、基本原理

1. 预测模型 (Prediction Model)

MPC 依赖于一个准确的系统模型来预测未来的状态。这个模型可以是线性的或非线性的,离散的或连续的。例如,对于一个简单的线性系统:

x(t+1)=Ax(t)+Bu(t)

其中 x(t) 是系统状态,u(t) 是控制输入,A,B 是系统矩阵。

2. 滚动优化 (Receding Horizon Optimization)

在每个时间步 t,MPC 会:

3. 反馈校正 (Feedback Correction)

MPC 的鲁棒性来源于其反馈机制。在每个时间步,MPC 都会重新测量系统的实际状态,并将其作为下一次优化的起始点。这使得 MPC 能够纠正模型误差、外部扰动和未建模动态的影响。

三、数学公式:优化问题

MPC 在每个时间步求解的优化问题通常是一个约束优化问题

minu(t),,u(t+Nc1)J(x,u)

目标函数 J(x,u): 通常包含两部分:

  1. 状态跟踪误差: 衡量预测状态与期望轨迹之间的偏差。
  2. 控制输入成本: 惩罚过大的控制输入或控制输入的剧烈变化。
J(x,u)=k=1Npx(t+k)xref(t+k)Q2+k=0Nc1u(t+k)R2

其中 Q,R 是权重矩阵。

约束条件:

四、优缺点分析

优点 (Pros) 缺点 (Cons)
处理多变量系统:能够同时处理多个输入和输出,并考虑它们之间的耦合。 计算成本高:在每个时间步都需要求解一个优化问题,对于实时应用可能计算量过大。
处理约束:能够显式地处理系统状态和控制输入的各种约束。 依赖精确模型:模型的准确性对 MPC 的性能至关重要。模型误差可能导致性能下降。
在线优化:在每个时间步重新优化,具有很强的适应性和鲁棒性。 超参数选择:预测时域、控制时域、权重矩阵等参数的选择对性能影响很大。
预测能力:能够预测未来行为,提前采取措施应对潜在问题。

五、应用领域

MPC 因其强大的处理复杂约束和多变量系统的能力,在许多领域得到广泛应用: